Evaluation of Classifiers in Software Fault-Proneness Prediction

نویسندگان

  • F. Karimian
  • S. M. Babamir
چکیده

Reliability of a software counts on its fault-prone modules. This means that the less the software consists of fault-prone units, the more we may trust it. Therefore, if we are able to predict the number of fault-prone modules of a software, it will be possible to judge its reliability. In predicting the software fault-prone modules, one of the contributing features is software metric, by which one can classify he software modules into the fault-prone and non-fault-prone ones. To make such a classification, we investigated 17 classifier methods, whose features (attributes) were software metrics (39 metrics), and the mining instances (software modules) were 13 datasets reported by NASA. However, there are two important issues influencing our prediction accuracy when we use data mining methods: (1) selecting the best/most influential features (i.e. software metrics) when there is a wide diversity of them, and (2) instance sampling in order to balance the imbalanced instances of mining; we have two imbalanced classes when the classifier biases towards the majority class. Based on the feature selection and instance sampling, we considered 4 scenarios in appraisal of 17 classifier methods to predict software faultprone modules. To select features, we used correlation-based feature selection (CFS), and to sample instances, we implemented the synthetic minority oversampling technique (SMOTE).The empirical results obtained show that suitable sampling software modules significantly influences the accuracy of predicting software reliability but metric selection does not have a considerable effect on the prediction. Furthermore, among the other data classifiers, bagging, K*, and random forest are the best ones when we use the sampled instances for training data.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Evaluation of Classifiers in Software Fault-Proneness Prediction

Reliability of software counts on its fault-prone modules. This means that the less software consists of fault-prone units the more we may trust it. Therefore, if we are able to predict the number of fault-prone modules of software, it will be possible to judge the software reliability. In predicting software fault-prone modules, one of the contributing features is software metric by which one ...

متن کامل

Fault Prediction Modeling using Object-Oriented Metrics: An Empirical Study

Software testing is an area where software products are examined through a series of verification and validation processes respectively. This phase of software development carries out the process of detection and removal of software faults. But this detection and removal of faults together consume up to 60% of project budget (Beizer, 1990). Applying equal testing and verification efforts to all...

متن کامل

Comparative Analysis of Software Network and CK Metrics: Implications for Pre- and Post-release Faults

The research on open source software has attracted a great deal of attention during the past decades for its wide applications in both academia and industry. Among the research topics related to open source software, the usefulness of software network metrics for fault prediction has been received much attention recently. In order to verify the importance of software network metrics in the perf...

متن کامل

A Statistical Framework for the Prediction of Fault-Proneness

Accurate prediction of fault prone modules in software development process enables effective discovery and identification of the defects. Such prediction models are especially valuable for the large-scale systems, where verification experts need to focus their attention and resources to problem areas in the system under development. This paper presents a methodology for predicting fault prone m...

متن کامل

A Systematic Literature Survey on Various Techniques for Software Fault Proneness

Fault proneness prediction of a software module having a great role in the quality assurance. Faults proneness prediction is to find the areas of the software which have a greater impact. In today’s world it is becoming a big issue to find the fault prone modules. Faults are the flaws in the software that can cause a failure. Most of the failures are in the small parts of the software modules. ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2017